Skip to content

Latest commit

 

History

History
216 lines (129 loc) · 5.58 KB

第十五单元 网站数据分析.md

File metadata and controls

216 lines (129 loc) · 5.58 KB

[TOC]

第十五单元-网站数据分析案例

15.1 apache日志格式分析

15.1.1 理解ip、pv、uv的概念

PV(Page View)访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。

UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);**访问网站的一台电脑客户端为一个访客。**可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。

IP(Internet Protocol)独立IP数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。 IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。

15.1.2 了解apache日志格式

apache访问日志格式:

1571552971721

可以看到这个日志主要由以下几个部分组成:

1571553038982

1571553052998

1571553074424

15.2 网站安全监控

1.查看进程数:

ps aux | grep httpd | grep -v grep | wc -l
ps -ef|grep httpd|grep -v grep|wc -l

pgrep httpd|wc -l

2.访问次数最多的10个ip

[root@ c6m01 ~]# awk '{print $1}' nginx_access.log |sort|uniq -c|sort -nr|head -10
   3596 36.110.13.18
    243 27.189.140.248
     89 202.105.46.146
     69 219.135.147.18
     67 117.136.74.158
     53 58.220.95.87
     24 210.13.111.122
     19 117.136.38.164
     18 112.94.9.21
     17 223.104.3.135
或者
[root@ c6m01 ~]# awk '{counts[$1]+=1}; END {for(url in counts) print counts[url], url}' nginx_access.log |sort -nr|head -10

3596 36.110.13.18
243 27.189.140.248
89 202.105.46.146
69 219.135.147.18
67 117.136.74.158
53 58.220.95.87
24 210.13.111.122
19 117.136.38.164
18 112.94.9.21
17 223.104.3.135

3.访问量最大的十个时间段

[root@ c6m01 ~]# awk '{print $4}' nginx_access.log|cut -c 14-18|sort|uniq -c|sort -nr|head -10
     51 12:47
     49 14:43
     42 15:05
     38 17:58
     34 18:46
     33 13:02
     31 17:22
     31 11:32
     30 19:47
     30 14:31

4.查看日志中出现100次以上的IP

[root@ c6m01 ~]# awk '{print $1}' nginx_access.log |sort|uniq -c|sort -nr|awk '$1>100{print $0}'
   3596 36.110.13.18
    243 27.189.140.248

5.查看最近访问量最高的页面

[root@ c6m01 ~]# awk '{print $7}' nginx_access.log |sort|uniq -c|sort -nr|head -10
   1593 /display_mars_news/api/info
    566 /display_mars_news/index.html
    317 /display_mars_news/static/js/manifest.3ad1d5771e9b13dbdad2.js
    309 /display_mars_news/static/js/vendor.b537501100e4271f9d12.js
    287 /display_mars_news/static/img/loading.f7a5be2.gif
    169 /display_mars_news/api/lazycode?lazycode=40125061
    125 /display_mars_news/static/js/app.fe6fe22994d537088fae.js
    124 /display_mars_news/static/css/app.748c5a78fbf02d16c47f4e3c89182875.css
    102 /display_mars_news/api/lazycode?lazycode=40125063
     87 /display_mars_news/api/lazycode?lazycode=40125071

6.查看最近访问量最高的(.png)页面

cat $log |awk '{print $7}'|grep '.png'|sort|uniq -c|sort -nr |head -n 10
#或者cat $log |awk '$7~/.png$/{print $7}'|sort|uniq -c |sort -rn
#241 /awstatsicons/other/awstats_logo6.png
#227 /awstatsicons/clock/hr12.png
#226 /awstatsicons/other/vv.png  

#226 /awstatsicons/other/vu.png
3226 /awstatsicons/clock/hr9.png

7.查看18/Oct/2019一天的点击量(clicks)

[root@ c6m01 ~]# awk '$4~/18\/Oct\/2019/' nginx_access.log |wc -l
8

8.查看18/Oct/2019一天访问网站的独立IP有哪些

[root@ c6m01 ~]# awk '{print $1}' nginx_access.log |sort|uniq -c|sort -nr
   3596 36.110.13.18
    243 27.189.140.248
     89 202.105.46.146
     69 219.135.147.18
     67 117.136.74.158
     53 58.220.95.87
     24 210.13.111.122

9.统计日志中一天的PV量

[root@ c6m01 ~]# awk '{print $0}' nginx_access.log |wc -l
4683

10.查看传输字节数大于200的资源

[root@ c6m01 ~]# awk '{print $10}' nginx_access.log |awk '$1 >200{print $0}'

11.打印出消耗带宽最大的页面

[root@ c6m01 ~]# awk '{print $10}' nginx_access.log |sort -nr|head -1
6523566
[root@ c6m01 ~]# grep 6523566 nginx_access.log
36.110.13.18 - - [27/Jun/2019:20:11:55 +0800] "GET /display_mars_news/static/js/vendor.b537501100e4271f9d12.js.map HTTP/1.1" 200 6523566 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"

或者

[root@ c6m01 ~]# awk 'BEGIN {max = 0} {if ($10+0 > max+0) {max=$10 ;content=$0} } END {print content}' nginx_access.log
36.110.13.18 - - [27/Jun/2019:20:11:55 +0800] "GET /display_mars_news/static/js/vendor.b537501100e4271f9d12.js.map HTTP/1.1" 200 6523566 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"